package com.ctshk.common.utils;

import java.math.BigDecimal;

/**
 * 加幅规则工具类
 * 
 * @author Qiaoxin.Hong
 *
 */
public class StrategyRuleUtils {
	
	/**
     * 价格加幅
     * @param rulePriceType 加幅价格类型，1：数值加幅；2：百分比加幅；
     * @param price 价格
     * @return 加幅的值
     */
    public static BigDecimal calcPrice(Integer rulePriceType, BigDecimal rulePrice, BigDecimal price) {
    	if (price == null) 
    		return null;
    	return price.add(addePrice(rulePriceType, rulePrice, price));
    }

	/**
     * 价格加幅值
     * @param rulePriceType 加幅价格类型，1：数值加幅；2：百分比加幅；
     * @param rulePrice     加幅值
     * @param costPrice 成本价
     * @return 加幅的值
     */
    public static BigDecimal addePrice(Integer rulePriceType, BigDecimal rulePrice, BigDecimal costPrice) {
        if (rulePriceType == null || rulePrice == null || costPrice == null) return BigDecimal.ZERO;

        //数值加幅
        if (BConst.ONE.equals(rulePriceType)) {
        	return rulePrice;
        } else if (BConst.TWO.equals(rulePriceType)) {  //百分比加幅
        	return Assist.setScaleTwoUp(Assist.calcPercent(costPrice, rulePrice));
        }

        return BigDecimal.ZERO;
    }
}
